package q1512_numIdenticalPairs;

public class Solution {
    /*
    计算好数对 要求数对中的数相同 并且有前后出现的限制
    只需用一个hashMap即可 每次遍历到一个数 检查map中是否有这个key 如果有则加入这个数之前出现了多少次即可
    然后更新map

    当然 由于题目已经给出了范围 所以也可以自制hash表 消耗资源更少
     */
    public int numIdenticalPairs(int[] nums) {
//        int ans = 0;
//        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
//        for (int i = 0; i < nums.length; i++) {
//            if (map.containsKey(nums[i])) ans += map.get(nums[i]);
//            map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);
//        }
//        return ans;

        int ans = 0;
        int[] temp = new int[100];
        for (int num : nums) {
            ans += temp[num - 1]++;
        }
        return ans;

    }
}
